package com.star.warmwinter.http.api;

import com.star.warmwinter.http.base.BaseEntity;

import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.PartMap;

/**
 * Author: blackbai11
 * Date: 2016/11/17 15:44
 * Description: post请求
 */
public interface TestFileApi {
    /**
     * 文件上传
     * @Multipart + @Part（可携带数据流）
     */
    @Multipart
    @POST("UploadFile")
    Observable<BaseEntity<String>> upload(@Part("description") RequestBody description, @Part MultipartBody.Part file);

    /**
     * 多文件上传
     *
     */
    @Multipart
    @POST("UploadFile")
    Observable<BaseEntity<String>> multiUpload(@PartMap Map<String, RequestBody> params, @Part List<MultipartBody.Part> files);

    //使用@body注解则不能使用@Multipart，直接将所有 MultipartBody.Part 合并到 MultipartBody
    @POST("UploadFile")
    Observable<BaseEntity<String>> multiUpload(@Body MultipartBody body);

}
